<?php

namespace app\admin\command;

use app\common\model\MeituanLogic;
use think\console\Command;
use think\console\Input;
use think\console\Output;

//茶坊命令
class Chafang extends Command
{

    // const DAY_SECOND=24*60*60; //一天的秒数量=24小时*60分钟*60秒
    const DAY_SECOND=60; //临时测试

    protected $input;
    protected $output;

    protected function configure()
    {
        $this
            ->setName('Chafang')
            ->setDescription('自动执行刷新美团授权!');
    }

    // php think Chafang
    protected function execute(Input $input, Output $output)
    {
        $this->input=$input;
        $this->output=$output;

        $this->refresh_meituan_session();

        $output->info("本轮执行完成!");
    }

    //刷新美团session MeituanAuth模型, 在session_expire_time(datetime格式)还有2天时,使用refresh_session刷新session
    public function refresh_meituan_session()
    {
        $meituan_auth_model=new \app\admin\model\MeituanAuth;
        // $meituan_auth_list=$meituan_auth_model->where("session_expire_time",">",date("Y-m-d H:i:s",time()+self::DAY_SECOND*2))->select();
        $meituan_auth_list=$meituan_auth_model->all();
        foreach ($meituan_auth_list as $meituan_auth) {

            $result=MeituanLogic::RefreshSession(
                $meituan_auth['app_key'],
                $meituan_auth['app_secret'],
                $meituan_auth['refresh_session']
            );
            if ($result['code']!==200){
                $this->output->info("授权号:{$meituan_auth->name} 刷新美团session失败! ".$result['msg']);
                return false;
            }
            //
            // dump($result);
            $this->output->info("授权号:{$meituan_auth->name} 刷新美团session成功! ".$result['msg']);
        }
    }


}
